using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("CollectibleCardHeroesFilter")]
	public class CollectibleCardHeroesFilter : CollectibleCardFilter
	{
		public int m_heroesPerPage => method_2<int>("m_heroesPerPage");

		public List<CollectibleCard> m_allResults => method_3<Class271<CollectibleCard>>("m_allResults")?.method_25();

		public CollectibleCardHeroesFilter(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CollectibleCardHeroesFilter(IntPtr address)
			: this(address, "CollectibleCardHeroesFilter")
		{
		}

		public void Init(int heroesPerPage)
		{
			method_8("Init", heroesPerPage);
		}

		public void UpdateResults()
		{
			method_8("UpdateResults");
		}

		public List<CollectibleCard> GetHeroesContents(int currentPage)
		{
			return method_14<Class271<CollectibleCard>>("GetHeroesContents", new object[1] { currentPage })?.method_25();
		}

		public int GetTotalNumPages()
		{
			return method_11<int>("GetTotalNumPages", Array.Empty<object>());
		}
	}
}
